#define _CRT_SECURE_NO_WARNINGS

//#include<iostream>
//
//using namespace std;
//
//int main()
//{
//
//	return 0;
//}

//#include<iostream>
//using namespace std;
////
//int main()
//{
//    float a;
//    char b;
//    cin >> a >> b;
//
//    double sum = 0;
//    if (a < 1 && b == 'n') sum = 20;
//    else if (a < 1 && b == 'y') sum = 25;
//    else if (a > 1 && b == 'n')
//    {
//        double k = a - 1;
//        if (k > 0 && k < 1) k = 1;
//        sum = 20 + 1 * k;
//    }
//    else if (a > 1 && b == 'y')
//    {
//        double k = a - 1;
//        if (k > 0 && k < 1) k = 1;
//        sum = 20 + 5 + 1 * k;
//    }
//    cout << sum << '\n';
//
//    return 0;
//}

//#include <iostream>
//#include<string>
//#include<algorithm>
//#include<string.h>
//using namespace std;
//
//int main()
//{
//    int n;
//    cin >> n;
//    string s1, s2;
//    cin >> s1 >> s2;
//    string s;
//    cin >> s;
//    cout << strstr(s,s1)<< '\n';
//
//
//    return 0;
//}

#include <iostream>
#include<vector>
using namespace std;

int main() 
{
    int n = 0;
    cin >> n;
    vector<int> cost(n);
    for(int i = 0;i < n;i++) cin >> cost[i];
    vector<int> dp(n+1);
    
    long long ans = 0;
    for(int i = n;i > 2;i--)
    {
        dp[i] = dp[i-1] + min(cost[i-2],cost[i-3]);
        ans += dp[i];
    }
    
    cout << ans << '\n';
    cout << dp[0] << '\n';

    return 0;
}
